From e5e18ddffb6b13b018f55d0385c2a5fa08ccbcc5 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Fri, 4 Dec 2020 23:01:57 +0000 Subject: [PATCH] Add private method to check activatability We should have an actual method, instead of checking the WidgetClass.activate_signal directly. --- gtk/gtkwidget.c | 11 ++++++++++- gtk/gtkwidgetprivate.h | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 1ae404c425..e638b377aa 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4296,9 +4296,18 @@ gtk_widget_mnemonic_activate (GtkWidget *widget, return handled; } -static gboolean +/*< private > + * gtk_widget_can_activate: + * @self: a #GtkWidget + * + * Checks whether a #GtkWidget can be activated using + * gtk_widget_activate(). + */ +gboolean gtk_widget_can_activate (GtkWidget *self) { + g_return_val_if_fail (GTK_IS_WIDGET (self), FALSE); + GtkWidgetClass *widget_class = GTK_WIDGET_GET_CLASS (self); if (widget_class->activate_signal != 0) diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index a79ee938da..00424ff446 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -356,6 +356,8 @@ guint gtk_widget_add_surface_transform_changed_callback (GtkWidget void gtk_widget_remove_surface_transform_changed_callback (GtkWidget *widget, guint id); +gboolean gtk_widget_can_activate (GtkWidget *widget); + /* focus vfuncs for non-focusable containers with focusable children */ gboolean gtk_widget_grab_focus_child (GtkWidget *widget); gboolean gtk_widget_focus_child (GtkWidget *widget, -- 2.30.2